void main(){
  var person=new Person('jack',13);
  person.work();
  //构造函数重载
  new Person.withName('rose');
  new Person.withAge(31);
}

class Person{
  String name;
  int age;
  final String gender='male';

  // Person(String name,int age){
  //   this.name=name;
  //   this.age=age;
  // }

  Person(this.name,this.age){} //自动赋值给同名成员变量,包括final修饰的成员

  //通过类名.函数名可以实现构造方法重载效果
  Person.withName(String name){
    this.name=name;
  }
  Person.withAge(this.age){}

  void work(){
    print('working.');
  }
}